package com.example.kotlinproject.utils

import android.app.Dialog
import android.content.Context
import com.example.kotlinproject.R

object LoadingDialog {
    private var dialog: Dialog?=null
    fun show(context: Context){
        cancel()
        dialog= Dialog(context)
        dialog?.setContentView(R.layout.dialog_loading)
        dialog?.setCancelable(false)
        dialog?.setCanceledOnTouchOutside(false)
        dialog?.show()
    }
    fun cancel(){
        dialog?.cancel()
    }
}

/*
Versa笔试题
选择题
1.以下函数的时间复杂度是
void func(intx,int y,int z){
       if(x<=0){
               print("%d,%d\n",y,x);
           }else{
               func(x-1,y+1,z);
               func(x-1,y,z+1);
           }
}A O(x * y* z)
B O(x^2*y^2)
C O(2^x)
D O(2^x* 2^y *2^z)
E O(x!)
F O((x * y * z)!)
2.请阅读下面代码，判断运行结果：
public class ThreadTest{
       private static AtomicInteger atomicInteger=new AtomicInteger();
       public static void main(String[] args){
               A a=new A();
               try{
                      atomicInteger.wait();
                   }catch(InterruptedException e){
                       e.printStackTrace();
                   }
               a.start();
           }
       
       static class A extends Thread{
               public void run(){
                       atomicInteger.notify();
                       atomicInteger.lazySet(1);
                       System.out.println(atomicInteger.get());
                   }
           }
       
}A 编译报错，有未捕获的异常
B 程序正常执行后，一直hold
C 程序正常运行，控制台打印出1
D 程序正常运行，控制台打印出0
E 程序编译通过，但运行时报错
F 以上都不对
3.有类A定义如下
public class A{
       int b=0;
}
//在主线程执行
A a=new A();
ObjectAnimator.ofInt(a,"b",0,1).start();以上程序的运行结果是（）
A 编译报错
B 程序正常运行，b的属性变为1
C 程序正常运行，b的属性保持不变
D 程序编译通过，但运行时报错
填空题
1.int类型占据 （） 个字节，char占据（） 个字节
2.java运行时数据区域分为（）
3.java中的引用分为（） ,各自区别为（）
4.GCRoot有哪些？（）
5.元注解 @Retention的值类型 java.lang.annotation.RetentionPolicy 的枚举值有（）
6.Activity的四种启动模式为（）
7.Activity是ContextImpl的子类吗（）
8.android.graphics.Bitmap.Config的值有（）
简答题
1.java中接口与抽象类的区别
2.volatile关键字是否能保证线程安全
3.java中除了用new 关键字创建一个对象，还有哪些方法可以创造一个对象
4.android的坐标系与opengl的坐标系有什么不同
5.简述java中HashMap的put方法的实现
6.简述Handler的实现机制

7.页面中的一个 android.view.View实例调用了invalidate()之后会重绘，请简述触发重绘的调用流程。

编程题
1.使用synchronize 关键字实现多生产者-多消费着 Demo。商品唯一，库存上线为10。
2 请用快速排序将乱序数组int arr[] 从小到大排序。
3.一个线上项目（已经运营多年，30w+行代码，应用过各种主流框架，包括但不限于ButterKnife，DataBinding等）今天要对所有的 View.OnClickListener的onClick事件上报统计viewid,给出你的实现方案。*/
